fn main() {
    let a: f32 = 42.42;
    let frankentype: u32 = unsafe {
        std::mem::transmute(a) //结果传到外部作用域
    };
    println!("{}", frankentype); //将42.42_f32产生的位模式作为十进制整数
    println!("{:032b}", frankentype); //{032b}格式转换为一个二进制值，借助std::fmt::Binary trait实现，占用32位，不足则左侧补零

    let b: f32 = unsafe { std::mem::transmute(frankentype) };

    println!("{}", b);
    assert_eq!(a, b); //判断a==b?
}
